-
Notifications
You must be signed in to change notification settings - Fork 687
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow Host and TLSContext to configure a CRL (v2.3) #4247
Conversation
Signed-off-by: alex <[email protected]>
Signed-off-by: alex <[email protected]>
Signed-off-by: alex <[email protected]>
Signed-off-by: alex <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for making this change! Looks good to me, but do we maybe want to change crl_secret
to something like:
crl:
secretName: string
Instead so that way we are leaving ourselves room for additional properties/fields should we add additional fields around the CRLs? I know Envoy exposes multiple options for handling them, so I could see us wanting to add more CRL fields to the CRDs in the future. @LanceEa Thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, it looks pretty good. Just a few questions and comments.
Good call @AliceProxy, I would agree that we should set ourselves up for future enhancements. In general, we need to start planning out our road to a proper CRD V3. I would also say at a minimum we should be consistent with the casings of our fields. Based on our docs it should be camelCasing, correct? |
I agree with you @AliceProxy and @LanceEa.
So I went for consistency in the way current resources are defined... snake case and |
So one of our goals for the V3 CRDs is to move everything to camelCase since we currently have a mix of snake_case and camelCase all over the CRDs and camelCase is more "kubelike". Having it be snake_case for this PR not a big problem because with the V3 CRDs we can convert it to camelCase. If we want to go with snake_case for this version, then I still think it would be beneficial to do something like:
because if we add new fields in the V3 CRDs, then we have to support those fields in the older CRD versions for round tripping conversion and that would make it simpler to add values into the object instead of having a V3 CRD that looks like:
and then have the v3alpha1/v2 CRDs look like this after conversion if we merge this as
Does that reasoning make sense? As for the casing, we currently have some CRDs that use all snake_case, some that use all camelCase, and some that have a mix, so I'm not as picky about the casing for this PR since we will be standardizing the casing in the V3 CRDs. |
Thanks for all your thoughts. I'm very much aligned with the CRD design for v3.
Seeing how things are handled in the python code, I saw examples where we would take the CA chain from either a |
@AliceProxy - I'm ok with @alexgervais reasoning but I haven't felt all the pains the team might have in the past so If you feel strong about this then try to convince him otherwise 😄 . If not let's move forward and get this merged so we can focus on release activities. |
Signed-off-by: alex [email protected]
Description
Allow Host and TLSContext to configure a CRL through the
crl_secret
property on both resources.Related Issues
https://github.com/datawire/apro/issues/2619
Testing
Manual tests and automated KAT tests for the Host resource.
Checklist
I made sure to update
CHANGELOG.md
.Remember, the CHANGELOG needs to mention:
This is unlikely to impact how Ambassador performs at scale.
Remember, things that might have an impact at scale include:
My change is adequately tested.
Remember when considering testing:
I updated
DEVELOPING.md
with any any special dev tricks I had to use to work on this code efficiently.The changes in this PR have been reviewed for security concerns and adherence to security best practices.